﻿using System.ComponentModel.DataAnnotations;
using YNTK.Dependency;

namespace YNTK.Employees.Entitys.Dto
{
    /// <summary>
    /// 员工工作经历数据传输模型
    /// </summary>
    [SuppressSniffer]
    public class WorkExperienceListDto
    {
        /// <summary>
        /// id
        /// </summary>
        public string id { get; set; }

        /// <summary>
        /// 任职期限开始日期
        /// </summary>
        public DateTime? startDate { get; set; }

        /// <summary>
        /// 任职期限截止日期
        /// </summary>
        public DateTime? endDate { get; set; }

        /// <summary>
        /// 公司/单位
        /// </summary>
        public string company { get; set; }

        /// <summary>
        /// 部门
        /// </summary>
        public string department { get; set; }

        /// <summary>
        /// 岗位
        /// </summary>
        public string position { get; set; }

        /// <summary>
        /// 职务
        /// </summary>
        public string duty { get; set; }

        /// <summary>
        /// 行业
        /// </summary>
        public string industry { get; set; }

        /// <summary>
        /// 工作内容
        /// </summary>
        public string workContent { get; set; }

        /// <summary>
        /// 工作业绩
        /// </summary>
        public string workPerformance { get; set; }

        /// <summary>
        /// 待遇
        /// </summary>
        public string treatment { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string description { get; set; }

        /// <summary>
        /// 证明人及联系方式
        /// </summary>
        public string contact { get; set; }

        /// <summary>
        /// 任职文件服务器存储路径
        /// </summary>
        public string officeFilePath { get; set; }

        /// <summary>
        /// 任职文件名称
        /// </summary>
        public string officeFileName { get; set; }

        /// <summary>
        /// 免职文件服务器存储路径
        /// </summary>
        public string dismissalFilePath { get; set; }

        /// <summary>
        /// 免职文件名称
        /// </summary>
        public string dismissalFileName { get; set; }
    }

    /// <summary>
    /// 添加工作经历请求模型
    /// </summary>
    [SuppressSniffer]
    public class AddWorkExperienceRequestModel
    {
        /// <summary>
        /// 任职期限开始日期
        /// </summary>
        [Required(ErrorMessage = "请选择任职开始时间")]
        public DateTime? startDate { get; set; }

        /// <summary>
        /// 任职期限截止日期
        /// </summary>
        [Required(ErrorMessage = "请选择任职截止时间")]
        public DateTime? endDate { get; set; }

        /// <summary>
        /// 公司/单位
        /// </summary>
        [Required(ErrorMessage = "公司/单位不能为空")]
        public string company { get; set; }

        /// <summary>
        /// 部门
        /// </summary>
        public string department { get; set; }

        /// <summary>
        /// 岗位
        /// </summary>
        public string position { get; set; }

        /// <summary>
        /// 职务
        /// </summary>
        public string duty { get; set; }

        /// <summary>
        /// 行业
        /// </summary>
        public string industry { get; set; }

        /// <summary>
        /// 工作内容
        /// </summary>
        public string workContent { get; set; }

        /// <summary>
        /// 工作业绩
        /// </summary>
        public string workPerformance { get; set; }

        /// <summary>
        /// 待遇
        /// </summary>
        public string treatment { get; set; }

        /// <summary>
        /// 证明人及联系方式
        /// </summary>
        public string contact { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string description { get; set; }

        /// <summary>
        /// 任职文件服务器存储路径
        /// </summary>
        public string officeFilePath { get; set; }

        /// <summary>
        /// 免职文件服务器存储路径
        /// </summary>
        public string dismissalFilePath { get; set; }
    }

    /// <summary>
    /// 修改工作经历请求模型
    /// </summary>
    [SuppressSniffer]
    public class UpdateWorkExperienceRequestModel: AddWorkExperienceRequestModel 
    {
        /// <summary>
        /// 工作经历id
        /// </summary>
        [Required(ErrorMessage = "工作经历唯一标识不能为空")]
        public string id { get; set; }
    }

}
